﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using QuanLyHocPhi.BLL;
using QuanLyHocPhi.Model;

namespace QuanLyHocPhi.GUI.HeThong
{
    public partial class FormCauHinhPhieuThu : FormBaseDialog
    {
        public FormCauHinhPhieuThu()
        {
            InitializeComponent();
            List<string> cauHinhPhieuThuHocPhi = BizCauHinh.GetCauHinh();

            if (cauHinhPhieuThuHocPhi != null && cauHinhPhieuThuHocPhi.Count == 4)
            {
                txtQuyenSoHocPhi.Text = cauHinhPhieuThuHocPhi[0];
                txtSoPhieuHocPhi.Text = cauHinhPhieuThuHocPhi[1];
                soPhieuTrongQuyenHocPhi.Value = decimal.Parse(cauHinhPhieuThuHocPhi[2]);
                soPhieuLonNhatHocPhi.Value = decimal.Parse(cauHinhPhieuThuHocPhi[3]);
            }
            else
            {
                txtQuyenSoHocPhi.Text = "1";
                txtSoPhieuHocPhi.Text = "1";
            }

            List<string> cauHinhPhieuThuLePhi = BizCauHinh.GetCauHinh(false);

            if (cauHinhPhieuThuLePhi != null && cauHinhPhieuThuLePhi.Count == 4)
            {
                txtQuyenSoLePhi.Text = cauHinhPhieuThuLePhi[0];
                txtSoPhieuLePhi.Text = cauHinhPhieuThuLePhi[1];
                soPhieuTrongQuyenLePhi.Value = decimal.Parse(cauHinhPhieuThuLePhi[2]);
                soPhieuLonNhatLePhi.Value = decimal.Parse(cauHinhPhieuThuLePhi[3]);
            }
            else
            {
                txtQuyenSoLePhi.Text = "1";
                txtSoPhieuLePhi.Text = "1";
            }
        }

        private void bntCancel_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void bntCapNhat_Click(object sender, EventArgs e)
        {
            thongBao.Clear();
            if (string.IsNullOrEmpty(txtQuyenSoHocPhi.Text))
            {
                thongBao.SetError(txtQuyenSoHocPhi, "Bạn chưa nhập quyển số");
                return;
            }
            if (string.IsNullOrEmpty(txtSoPhieuHocPhi.Text))
            {
                thongBao.SetError(txtSoPhieuHocPhi, "Bạn chưa nhập số phiếu");
                return;
            }
            try
            {
                var soBienLaiHocPhi = txtQuyenSoHocPhi.Text + ";" + txtSoPhieuHocPhi.Text + ";" + soPhieuTrongQuyenHocPhi.Value.ToString() + ";" + soPhieuLonNhatHocPhi.Value.ToString();
                BizCauHinh.UpdateCauHinh(soBienLaiHocPhi);
                var soBienLaiLePhi = txtQuyenSoLePhi.Text + ";" + txtSoPhieuLePhi.Text + ";" + soPhieuTrongQuyenLePhi.Value.ToString() + ";" + soPhieuLonNhatLePhi.Value.ToString();
                BizCauHinh.UpdateCauHinh(soBienLaiLePhi, false);
                MessageBox.Show("Cập nhật thành công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                this.Close();
            }
            catch (Exception)
            {
                MessageBox.Show("Cập nhật thất bại", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void OnEnter(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar == (char)13)
                bntCapNhat.PerformClick();
        }
    }
}
